Skip to content

Add a "No standard library" category #548

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 10, 2017

Conversation

tarcieri
Copy link
Contributor

@tarcieri tarcieri commented Feb 7, 2017

Allows browsing of crates that are #![no_std] compatible.

Allows browsing of crates that are `#![no_std]` compatible.
@carols10cents
Copy link
Member

How does this differ from the recently-added Embedded category?

@tarcieri
Copy link
Contributor Author

tarcieri commented Feb 8, 2017

Granted there would be a lot of overlap, however...

#![no_std] is a pretty specific need: any project using #![no_std] can only transitively depend on #![no_std]-compatible crates.

Right now there simply isn't a good way to discover this information about crates. You can look through their source code or check their README, but you can't easily browse/search for crates which explicitly meet this requirement.

Shortly before Cargo categories were announced I posted this question on the internals Discourse:

https://internals.rust-lang.org/t/no-std-true-metadata-in-cargo-toml/4684

To make a specific point about how this differs from embedded though... from the "Embedded" description:

Crates that are primarily useful on embedded devices or without an operating system.

#![no_std] is also useful for things like authoring operating systems or other OS infrastructure (e.g. a "libc" in Rust) which could run on systems that very much aren't embedded (e.g. your typical Dell PowerEdge-style server).

The actual use case is probably closer to "systems programming" than "embedded development". I would say "embedded development" is a subset of #![no_std] use cases.

@steveklabnik
Copy link
Member

steveklabnik commented Feb 8, 2017 via email

@tarcieri
Copy link
Contributor Author

tarcieri commented Feb 8, 2017

Generally I think of #![no_std] as being an entirely separate ecosystem of crates. If crates.io had an advanced search, it's the sort of thing that probably deserves a checkbox.

I think categories could suffice to accomplish the same thing though, if there were e.g. a "search within a category" feature

@carols10cents
Copy link
Member

Ok. When we were bikeshedding the initial set of categories, we were shying away from kinds of categorization that wasn't topic related (that is, would be useful to someone looking for "a crate that does X"). But I can see this being useful, and since we don't have a no_std badge/checkbox mechanism now...... let's give this a try.

Issue #491 is for tracking search within a keyword or category, which I agree would also be useful.

@carols10cents carols10cents merged commit c7ba9f8 into rust-lang:master Feb 10, 2017
@tarcieri tarcieri deleted the no-std-category branch February 10, 2017 01:10
@tarcieri
Copy link
Contributor Author

Awesome, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants